package com.jt.controller;

import com.jt.pojo.User;
import com.jt.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

@RestController
//@CrossOrigin("http://www.baidu.com") //只允许该域名访问
@CrossOrigin    //运行所有域名访问
public class UserController {

    @Autowired
    private UserService userService;
    //@RequestMapping("/getAll") //所有的请求类型都支持
    @GetMapping("/getAll")    //只允许查询get请求类型
   /* @PostMapping
    @PutMapping
    @DeleteMapping*/
    public List<User> getAll(){
        return userService.getAll();
    }

    /**
     * URL: http://localhost:8090/getUserByUser
     * 参数: user对象的数据
     * 返回值: User
     */
    @GetMapping("/getUserByUser")
    public User getUserByUser(User user){
        //1.SpringMVC如果解析到参数是对象 先获取其中的Get方法
        // getId()/getName()......
        //2.将方法get去除首字母小写~~~id/name/age/sex
        //3.实例化一个User对象之后调用setxxx()方法实现赋值
        //4.最终方法中获取一个实例化的User对象
        //String id = request.getParameter("id");
        return user;
    }






    /**
     * 注意事项: 如果后端服务器没有匹配的方法,也会报跨域错误.
     * URL:http://localhost:8090/getUserById?id=1&age=18
     * 参数: id=1
     * 返回值: User对象
     * servlet特点:
     *  1.获取的数据都是String类型
     */
    @GetMapping("/getUserById")
    public User getUserById(Integer id){
       //1.SpringMVC框架通过Servlet中request对象,根据参数名称获取值
        // String id = request.getParameter("age");
        //2.SpringMVC根据已知的数据类型 自动的实现数据转化
        return null;
    }



    /*@GetMapping("/getUserById")
    public User getUserById(HttpServletRequest request,
                            HttpServletResponse response){
        //1.参数获取 每个参数都需要手动获取
        String id = request.getParameter("id");
        String age = request.getParameter("age");

        //2.数据类型转化
        int intId = Integer.parseInt(id);
        System.out.println("根据ID查询数据库~~~~~");

        return null;
    }*/
}
